import model.Game;
import model.Hockeyist;
import model.Move;
import model.World;

/**
 *
 * @author Constantine Tretyak
 */
abstract class AbstractAttack extends AbstractStrategy {

    protected final long puckOwner;
    protected final long first;

    protected AbstractAttack(Hockeyist self, World world, Game game, Move move, long puckOwner, long first) {
        super(self, world, game, move);
        this.puckOwner = puckOwner;
        this.first = first;
        if (self.getId() == puckOwner) {
            puckOwner();
        } else if (self.getId() == first) {
            firstTeammate();
        }

    }

    /**
     * не вызывать. Костыль!
     */
    @Override
    public void run() {
    }

    abstract protected void puckOwner();

    abstract protected void firstTeammate();

}
